home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / cool / ge_cool.lha / GE_COOL2.1 / README < prev   
Text File  |  1992-07-14  |  4KB  |  104 lines

  1. //
  2. // Copyright (C) 1991 Texas Instruments Incorporated.
  3. //
  4. // Permission is granted to any individual or institution to use, copy, modify,
  5. // and distribute this software, provided that this complete copyright and
  6. // permission notice is maintained, intact, in all copies and supporting
  7. // documentation.
  8. //
  9. // Texas Instruments Incorporated provides this software "as is" without
  10. // express or implied warranty.
  11. //
  12.  
  13.  
  14. This directory contains the version of the COOL library developed at Texas
  15. Instruments, and subsequently reworked and enhanced at General Electric.
  16.  
  17. An attempt was being made to remove dependencies on non-standard utility 
  18. programs, on the non-standard exception handling mechanism, and on the 
  19. generic class for runtime type determination.  
  20. It is complete, except for: generic, exception, symbol, and package.
  21.  
  22. ----------------------------------------------------------------------------
  23. To check that the libraries and executables you got from tar-tape work, 
  24. do steps: 1, 3, 4, 5, 6, 7, as described below:
  25.  
  26. ---------------------------------------------------------------------------
  27. To build this whole thing from scratch do the following:
  28.  
  29. 1.  Edit the file "Makedefs" in this directory to assign the correct values to
  30.     the macros.  Hopefully the only thing you will have to change is "TOP"
  31.     which is the pathname of the directory where this file resides.
  32.  
  33. 2.  Execute the command "make allclean" to remove any old files that might
  34.     have been left around in the directories.
  35.  
  36. 3.  Execute the command "make alllink" to create symbolic links in the
  37.     "include" directory to all of the header files.
  38.  
  39. 4.  Execute the command "make alldepend" to update the dependency information
  40.     in the Makefiles.
  41.  
  42. 5.  Execute the command "make allinstall" to build and install the bootstrap
  43.     utilities: cpp.
  44.  
  45. 6.  Change cpp of your compiler, options are: AT&T/SUN or CenterLine.
  46. 6.1. For AT&T/SUN, make a copy of the compiler directory /usr/lang/SC1.0/
  47.      with soft symbolic links, linking to original executables and libraries.
  48.      For cpp, link it to COOL cpp in $(TOP)/bin/.
  49. 6.2. For CenterLine, change CC in your makefile as follows:
  50.         CCDRIVER = /home/oceana/software/CenterLine/bin/CC
  51.     CC       = cppC=/home/sol/u4/IU/lice/bin/cpp ; export cppC ; $(CCDRIVER)
  52.  
  53. 7.  Execute the command "make all" to build all of the libraries, and run all
  54.     the tests.
  55.  
  56. ----------------------------------------------------------------------------
  57. To use COOL library, do the following:
  58.  
  59. 1. Change include and library paths in your makefile:
  60.  
  61.     APP_CCINCLUDES  += -I$(TOP)/include
  62.     APP_CCLDFLAGS   += -L$(TOP)/lib/sparc 
  63.     APP_CCLDLIBS    += -lCOOL 
  64.  
  65. 2. Make sure you have changed cpp, to be COOL cpp.
  66.  
  67. 3. In your header files, include and declare COOL classes:
  68.  
  69.     #include <cool/List.h>
  70.     #include <cool/Matrix.h>
  71.     DECLARE List<int>
  72.     DECLARE List<Matrix<double>*>
  73.  
  74. 4. In your source file, include and declare COOL classes:
  75.  
  76.     #include <cool/List.h>
  77.     #include <cool/Matrix.h>
  78.     DECLARE List<int>
  79.     DECLARE List<Matrix<double>*>
  80.  
  81. 5. Remember to implement, generate object code for COOL classes only once,
  82. in your whole application.
  83.  
  84.     #include <cool/List.C>
  85.     #include <cool/Matrix.C>
  86.  
  87.     IMPLEMENT List<int>
  88.     IMPLEMENT List_Node<int>
  89.  
  90.     IMPLEMENT Matrix<double>
  91.  
  92.     IMPLEMENT List<Matrix<double>*>
  93.     IMPLEMENT List_Node<Matrix<double>*>
  94.  
  95. This can be done by putting the above IMPLEMENT lines in main.C, 
  96. or by generating a library of type-specific containers.
  97.     
  98. 6. Examples can be found in:
  99.     $(TOP)/Makedefs        for setup of Makefiles
  100.     $(TOP)/*/tests/        for tests of classes
  101.     $(TOP)/*/examples/     for examples of classes
  102.     $(TOP)/src/examples/   for examples by manual sections
  103.  
  104.